/**
 * 2010(c) Copyright Oceansoft Information System Co.,LTD. All rights reserved.
 * <p>
 * Compile: JDK 1.6+
 * <p>
 * 版权所有(C)：江苏欧索软件有限公司
 * <p>
 * 公司名称：江苏欧索软件有限公司
 * <p>
 * 公司地址：中国苏州科技城青山路1号
 * <p>
 * 网址: http://www.oceansoft.com.cn
 * <p>
 * 作者: 090922(陈伟)
 * <p>
 * 文件名: com.oceansoft.mobile.econsole.common.log.AppLog.java 
 * <p>
 * 类产生时间: 2014-5-6 上午 9:10
 * <p>
 * 负责人: 090922(陈伟)
 * <p>
 * Email:javacspring@gmail.com
 * <p>
 * 所在组 : 掌上公安应用平台
 * <p>
 * 所在部门: 开发部--手持技术部
 * <p>
 * <p>
 */
package com.oceansoft.mobile.econsole.modules.api.util;

import com.oceansoft.mobile.econsole.modules.api.entity.CrashLog;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;

import java.lang.reflect.Field;

/**
 * 客户端日志工具类
 *
 * @author: chenw
 * @time: 2014-5-6 上午 9:10
 */
public class AppLogUtil {

    private static Logger logger = Logger.getLogger("app");

    public static void report(CrashLog log) throws IllegalAccessException {
        Field[] fields = log.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            if (!field.getName().equals("serialVersionUID")) {
                MDC.put(field.getName(), getFieldValue(field, log));
            }
        }
        logger.info("");
    }

    private static String getFieldValue(Field field, Object obj) throws IllegalAccessException {
        Object value = field.get(obj);
        if (value == null) {
            return "";
        }
        return value.toString();
    }
}
